package com.hanthink.system.mapper.photoalbum;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hanthink.system.domain.model.PhotoAlbumModel;
import com.hanthink.system.domain.protocol.photoalbum.PhotoAlbumPageRequest;
import com.hanthink.system.domain.protocol.photoalbum.PhotoAlbumPageResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 相册DAO
 *
 * @author WangBin
 * @date 2025-08-20
 */
@Mapper
public interface PhotoAlbumMapper extends BaseMapper<PhotoAlbumModel> {
    /**
     * 插入相册数据
     *
     * @param model 相册模型
     * @return 影响行数
     */
    int insertPhotoAlbum(PhotoAlbumModel model);

    /**
     * 批量插入相册数据
     *
     * @param list 相册列表
     * @return 影响行数
     */
    int batchInsertPhotoAlbum(List<PhotoAlbumModel> list);

    /**
     * 批量删除相册数据
     *
     * @param ids 相册列表
     * @return 影响行数
     */
    int batchCancelPhotoAlbum(@Param("ids") List<String> ids, @Param("updateTime") Long updateTime);

    /**
     * 相册列表数据
     *
     * @param request 请求
     * @return 列表
     */
    List<PhotoAlbumPageResponse> selectPhotoAlbumPage(PhotoAlbumPageRequest request);
}
